﻿using System;
using System.Data;
using System.Data.Common;
using System.Text;
using log4net;
{DataBaseSpecificUsings}

namespace {namespace}.DataAccess
{
    public partial class {ClassName}DAL : IDisposable
    {
    
	#region "Private Variables"    
		
	public static readonly string[] CONST_COLUMN_NAMES = new string[] {{ColumnNames}};
    private static ILog logger = LogManager.GetLogger(typeof({ClassName}DAL));
	
	{PrivateVariables}
	
	#endregion
	
	#region "Constructors"    
	
		public {ClassName}DAL()
		{
		
		}

	#endregion
	
	#region "Data loader methods (GetByPkAndUkColumns) All this methods return one ore more {ClassName}Data class"    
	
	{DataLoaders}

	#endregion
	
	#region "Public Methods"   


{InsertMethodSourceCode}

{UpdateMethodSourceCode}

{RemoveMethods}

{GetAllMethod}
		
{CreateFromDataRowSourceCode}
 
	//public void Remove();
 
	public void Dispose()
        {
			connector.Dispose();
            connector = null;
        }
	#endregion
    }
}